/******************************************************
*  Copyright(c) pages.ilovezxl.top
*  FileName : uart.h
*  Author : rivulet.dave
*  Description : HAL串口模块头文件
*  Data : 2020-06-30
******************************************************/

#ifndef __HAL_UART_H__
#define __HAL_UART_H__

/*********************************************************************
 * INCLUDES
 */

#ifdef __cplusplus
extern "C" {
#endif

#if (HAL_UART == _ENABLE)

/*********************************************************************
 *  EXTERNAL VARIABLES
 */

/*********************************************************************
 * MACROS
 */


/*********************************************************************
 * TYPES
 */

enum _uart_parity
{
    PARITY_NONE,
    PARITY_EVEN,
    PARITY_ODD,
    PARITY_SPACE,
};

typedef struct _uart_init_cb
{
    uint32_t uiBaudrate;// 波特率
    uint8_t ucDataBits; // 数据位数
    uint8_t ucStopBits; // 停止位
    uint8_t ucParity;   // 奇偶检验位
    uint8_t ucReserved; // 预留
} UART_INIT_CB_S;

/*********************************************************************
 * FUNCTIONS
 */

/**
 *   @Description: 模块初始化
 *   @param  : NA
 *   @return : 模块描述符
 */
hd_t UART_Init(void);

/**
 *   @Description: 模块退出
 *   @param  : NA
 *   @return : NA
 */
void UART_Exit(void);

#endif  //(HAL_UART == _ENABLE)

#ifdef __cplusplus
}
#endif /* end of __cplusplus */

#endif

/************************************** The End Of File **************************************/

